package com.hdoit.ares.web.insu.modelconfig;
import com.hdoit.ares.web.insu.providers.ZhonganCarEndorsementTypeProvider;
import com.hdoit.ares.web.insu.providers.ZhonganCarInstallmentNoProvider;
import com.hdoit.ares.web.insu.providers.ZhonganCarIsNetToTelemarketProvider;
import com.hdoit.ares.web.insu.providers.ZhonganCarPaymentWayProvider;
import com.hdoit.ares.web.insu.providers.ZhonganCarVehicleTypeProvider;
import com.hdoit.ares.web.insu.providers.ZhonganNotifyTypeProvider;
import com.tennetcn.component.attribute.DateTimeAttribute;
import com.tennetcn.component.attribute.DisplayNameAttribute;
import com.tennetcn.component.attribute.DropDownListAttribute;
import com.tennetcn.component.attribute.base.ModelMetadataAttributeConfiguration;

/**
 * @author      caochengmeng
 * @email       
 * @createtime  2018年01月16日 14:23:06
 * @comment
 */
public class ZhonganCarConfig extends ModelMetadataAttributeConfiguration{
    public ZhonganCarConfig(){
        this.setProperty("notifyType")
            .hasAttribute(new DisplayNameAttribute("通知类型"))
            .hasAttribute(new DropDownListAttribute(new ZhonganNotifyTypeProvider()));

        this.setProperty("userId")
            .hasAttribute(new DisplayNameAttribute("用户标识"));

        this.setProperty("requestDate")
            .hasAttribute(new DisplayNameAttribute("请求时间"))
            .hasAttribute(new DateTimeAttribute());

        this.setProperty("oldPolicyNo")
            .hasAttribute(new DisplayNameAttribute("原保单号"));

        this.setProperty("policyNo")
            .hasAttribute(new DisplayNameAttribute("保单号"));

        this.setProperty("sumInsured")
            .hasAttribute(new DisplayNameAttribute("保额"));

        this.setProperty("premium")
            .hasAttribute(new DisplayNameAttribute("保费"));

        this.setProperty("effectiveDate")
            .hasAttribute(new DisplayNameAttribute("保单起期/退保生效日期"));

        this.setProperty("expiryDate")
            .hasAttribute(new DisplayNameAttribute("保单止期"));

        this.setProperty("productName")
            .hasAttribute(new DisplayNameAttribute("产品名称"));

        this.setProperty("promoteCode")
            .hasAttribute(new DisplayNameAttribute("推广位code"));

        this.setProperty("promoteName")
            .hasAttribute(new DisplayNameAttribute("推广位名称"));

        this.setProperty("promoteFee")
            .hasAttribute(new DisplayNameAttribute("推广费"));

        this.setProperty("vehicleType")
            .hasAttribute(new DisplayNameAttribute("车险保单类型"))
            .hasAttribute(new DropDownListAttribute(new ZhonganCarVehicleTypeProvider()));

        this.setProperty("insurePlace")
            .hasAttribute(new DisplayNameAttribute("投保地"));

        this.setProperty("vehicleLicencePlateNo")
            .hasAttribute(new DisplayNameAttribute("车牌号码"));

        this.setProperty("vehicleVIN")
            .hasAttribute(new DisplayNameAttribute("车辆车架号"));

        this.setProperty("vehicleEngineNo")
            .hasAttribute(new DisplayNameAttribute("车辆发动机号"));

        this.setProperty("vehicleOwnerCertificateNo")
            .hasAttribute(new DisplayNameAttribute("车主身份证"));

        this.setProperty("vehicleBrand")
            .hasAttribute(new DisplayNameAttribute("品牌型号"));

        this.setProperty("policyHolderName")
            .hasAttribute(new DisplayNameAttribute("投保人姓名"));

        this.setProperty("policyHolderPhoneNo")
            .hasAttribute(new DisplayNameAttribute("投保手机号码"));

        this.setProperty("vehiclePolicyOrderNo")
            .hasAttribute(new DisplayNameAttribute("订单号"));

        this.setProperty("isNetToTelemarket")
            .hasAttribute(new DisplayNameAttribute("电网销标志"))
            .hasAttribute(new DropDownListAttribute(new ZhonganCarIsNetToTelemarketProvider()));

        this.setProperty("recipienterName")
            .hasAttribute(new DisplayNameAttribute("保单收件人姓名"));

        this.setProperty("recipienterPhone")
            .hasAttribute(new DisplayNameAttribute("保单收件人手机号码"));

        this.setProperty("recipienterAddress")
            .hasAttribute(new DisplayNameAttribute("保单收件地址"));

        this.setProperty("taxPreimum")
            .hasAttribute(new DisplayNameAttribute("车船税"));

        this.setProperty("paymentWay")
            .hasAttribute(new DisplayNameAttribute("支付方式"))
            .hasAttribute(new DropDownListAttribute(new ZhonganCarPaymentWayProvider()));

        this.setProperty("installmentNo")
            .hasAttribute(new DisplayNameAttribute("分期期数"))
            .hasAttribute(new DropDownListAttribute(new ZhonganCarInstallmentNoProvider()));

        this.setProperty("endorsementType")
            .hasAttribute(new DisplayNameAttribute("批改类型"))
            .hasAttribute(new DropDownListAttribute(new ZhonganCarEndorsementTypeProvider()));

        this.setProperty("businessTpEndorsementNo")
            .hasAttribute(new DisplayNameAttribute("批单号(商业) "));

        this.setProperty("businessFee ")
            .hasAttribute(new DisplayNameAttribute("批改金额(商业)"));

        this.setProperty("businessApplyTime ")
            .hasAttribute(new DisplayNameAttribute("批改日期(商业)"));

        this.setProperty("businessEffectiveDate")
            .hasAttribute(new DisplayNameAttribute("批改生效日期(商业)"));

        this.setProperty("compelTpEndorsementNo")
            .hasAttribute(new DisplayNameAttribute("批单号(交强)"));

        this.setProperty("compelFee ")
            .hasAttribute(new DisplayNameAttribute("批改金额(交强) "));

        this.setProperty("compelApplyTime ")
            .hasAttribute(new DisplayNameAttribute("批改日期(交强)"));

        this.setProperty("compelEndorEffectiveDate")
            .hasAttribute(new DisplayNameAttribute("批改生效日期(交强)"));

    }
}